.TH std::ios_base::precision 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::ios_base::precision \- std::ios_base::precision

.SH Synopsis
   streamsize precision() const;                     \fB(1)\fP
   streamsize precision( streamsize new_precision ); \fB(2)\fP

   Manages the precision (i.e. how many digits are generated) of floating point output
   performed by std::num_put::do_put.

   1) Returns the current precision.
   2) Sets the precision to the given one. Returns the previous precision.

   The default precision, as established by std::basic_ios::init, is 6.

.SH Parameters

   new_precision - new precision setting

.SH Return value

   The precision before the call to the function

.SH Example


// Run this code

 #include <iostream>

 int main()
 {
     const double d = 12.345678901234;
     std::cout << "The  default precision is " << std::cout.precision() << "\\n\\n";
     std::cout << "With default precision d is " << d << '\\n';
     std::cout.precision(8);
     std::cout << "With high    precision d is " << d << '\\n';
 }

.SH Output:

 The  default precision is 6

 With default precision d is 12.3457
 With high    precision d is 12.345679

   Defect reports

   The following behavior-changing defect reports were applied retroactively to
   previously published C++ standards.

     DR    Applied to              Behavior as published               Correct behavior
                      'precision' was defined as 'the number of digits
   LWG 189 C++98      after                                            corrected
                      the decimal point', but it is not correct in
                      some cases

.SH See also

   width        manages field width
                \fI(public member function)\fP
   setprecision changes floating-point precision
                \fI(function)\fP
